The invention relates to a method and data processing system for navigating in a flow diagram.
A flow diagram is a schematic representation of an algorithm or of a process in a very generic sense. For a flow diagram, the term flow chart is also frequently employed.
A flow diagram typically includes a set of task elements and a set of connectors that link task elements of the set of task elements with each other thereby defining a flow in the flow diagram. The task elements are typically represented by boxes and the connectors are typically represented by arrows indicating the direction of the flow.
An example of a flow diagram 100 is shown in FIG. 1 (Prior Art). The flow diagram 100, for example, can be visualized on a graphical user interface (e.g., a graph editor) of a computer system. The graphical user interface can include a frame 102 which surrounds the graphical user interface. The flow diagram 100 includes task elements 104, 106, 108, 110, and 112. Each task element describes a specific step or task in the flow diagram 100. The flow diagram 100 further includes connectors 114, 116, 118, 120, and 122. The task element 104 represents the start element of the flow diagram 100 and is connected with the task element 106 via the connector 114. The task element 106 is connected by the connector 116 with the task element 108 which is connected by the connector 118 with the task element 110 which represents the end of the flow diagram 100. Furthermore, the task element 106 is connected with the task element 112 via the connector 120. The task element 112 is also connected by the connector 122 with the task element 110.
The graph editor may offer the possibility to move selection marks from a task element to another task element by use of navigation commands. For example, selection marks might be placed to the task element 104. In response to the reception of a predefined navigation commands (e.g., the user of the system types one times on the “TAB”-key of the keyboard of the computer system), the graph editor moves the selection marks from task element 104 to task element 106.
The connectors 116 and 120 relate to a bifurcation in the flow diagram 100 as the flow goes via connector 116 to task element 108 and in parallel via connector 120 to task element 112. In that sense, a bifurcation in a flow diagram defines the starting point of two or more branches of a flow diagram. In the example shown here, the flow diagram 100 has two branches, wherein a first branch is given by connector 116, by task element 108, and by connector 118, and wherein a second branch is defined by connector 120, task element 112, and connector 122.
In response to the reception of the navigation command (e.g., a hot on the
“TAB” key), the selection marks are moved according to a known prior art system from the task element 106 to the selection mark as the distance 124 of the task element 112 with respect to the left side of the frame 102 is shorter than the distance 126 of the task element 108. Then, in response to the reception of the navigation command, the selecting marks are further moved from task element 112 to the task element 108 since this task element is the next nearest task element with respect to the left side of the frame 102.
The semantics of the flow diagram 100 is however given by the flow flowing from task element 106 to task element 110 over the first branch and in parallel over the second branch.
As can be seen by the move of the selection marks from task element 112 to task element 108, the semantics of the flow diagram 100 is not at all reflected by this move.
The known prior art system is therefore disadvantageous as it does not enable a user to navigate through a flow diagram so that the semantics of the flow diagram is reflected by the moves through the flow diagram.